package com.fangzhi;

import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.fangzhi.mobel.ProductType;
import com.fangzhi.service.ProductTypeService;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.io.File;
import java.io.FileNotFoundException;
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;

@SpringBootTest
public class ReadTxt {

    @Autowired
    private ProductTypeService productTypeService;
    @Test
    public void start(){
        String[] str = {
                "仓库12	AA	3压无纺布	AA	27*10.5  3mm压麻                 60g邦，20g盖面	AA	0.36",
                "仓库12	AA	4压无纺布	AA	28*11  4mm压麻  60g邦，25g盖面	AA	0.36",
                "仓库12	AA	4柳无纺布	AA	28*11  4mm 柳叶纹 65克邦40克盖面	AA	0.47",
                "仓库12	AA	4压白板拉毛	AA	28*11 4mm压麻底，0.2拉毛	AA	0.55",
                "仓库12	AA	5压白板拉毛	AA	28*11 5mm压麻底，0.2拉毛	AA	0.6",
                "仓库12	AA	4柳叶纹白板拉毛	AA	28*11  4mm柳叶纹底，0.2拉毛	AA	0.64",
                "仓库12	AA	6柳叶纹白板拉毛	AA	28*11  6mm柳叶纹底，0.2拉毛	AA	0.72",
                "仓库12	AA	6柳叶纹穿条珍珠棉	AA	28*11  6mm柳叶纹底，0.2珍珠棉	AA	0.75",
                "仓库12	AA	7压水金线珍珠棉	AA	28.5*11.5弯  7mm亚麻水波纹底，0.2珍珠棉压金线	AA	0.77",
                "仓库12	AA	6柳叶纹真美布白	AA	28*11  6mm柳叶纹底，0.2白真美布 	AA	0.91",
                "仓库12	AA	6柳叶纹真美布灰	AA	28*11  6mm柳叶纹底，0.2灰真美布 	AA	0.91",
                "仓库12	AA	白板细麻土黄一把包	AA	28*11.3  6mm柳叶纹底，0.2土黄细麻	AA	1.16",
                "仓库12	AA	白板帆布灰色一把包	AA	28*11.3  6mm柳叶纹底，0.2灰帆布 	AA	1.16",
                "仓库12	AA	白板仿麻黄色二把上	AA	29*11弯  6mm柳叶纹底+平片 0.2拉毛衬   粗麻	AA	1.6",
                "仓库12	AA	白板仿麻灰色二把上	AA	29*11弯  6mm柳叶纹底+平片 0.2拉毛衬    粗麻	AA	1.6",
                "仓库12	AA	白板仿麻黄二把上【半包】	AA	29*11弯  6mm柳叶纹底+平片 0.2拉毛衬   粗麻	AA	1.6",
                "仓库12	AA	白板仿麻灰二把上【半包】	AA	29*11弯  6mm柳叶纹底+平片 0.2拉毛衬   粗麻	AA	1.6",
                "仓库12	AA	全季珍珠棉加厚版【白边】	AA	28.5*11.5弯                            6mm环保防滑雪花纹底+300克纸板+0.6后脚跟   【双层】	AA	1.1",
                "仓库12	AA	全季珍珠棉加厚版【灰边】	AA	28.5*11.5弯                            6mm环保防滑雪花纹底+300克纸板+0.6后脚跟   【双层】	AA	1.1",
                "仓库12	AA	白板真棉布二把上【白】	AA	28.5*11.5直  6mm柳叶纹底  0.2拉毛衬  400克纸板  0.6后脚跟	AA	1.53",
                "仓库12	AA	白板真棉布二把上【浅灰】	AA	28.5*11.5直  6mm柳叶纹底  0.2拉毛衬  400克纸板  0.6后脚跟	AA	1.53",
                "仓库12	AA	白板真棉布二把上【土黄】	AA	28.5*11.5直  6mm柳叶纹底  0.2拉毛衬  400克纸板  0.6后脚跟	AA	1.53",
                "仓库12	AA	白板真棉布二把上【深灰】	AA	28.5*11.5直  6mm柳叶纹底  0.2拉毛衬  400克纸板  0.6后脚跟	AA	1.53",
                "仓库12	AA	白板金丝绒二把上【灰色】	AA	29*11.5弯  6.5mm柳叶纹底+平片  0.2拉毛衬  0.5后脚跟 	AA	1.71",
                "仓库12	AA	白板密丝绒二把上【白色】	AA	29*11弯  6.5mm柳叶纹底+平片  0.2拉毛衬  0.5后脚跟 	AA	1.71",
                "仓库12	AA	白板帆布一把包【米色边】	AA	29*11弯  6mm柳叶纹底   0.5后脚跟	AA	1.21",
                "仓库12	AA	白板帆布一把包【灰色边】	AA	29*11弯  6mm柳叶纹底   0.5后脚跟	AA	1.21",
                "仓库12	AA	抽条珊瑚绒一把包【白色】	AA	28*11  6.5mm糊黑色点塑布               0.25抽条珊瑚绒	AA	1.49",
                "仓库12	AA	抽条珊瑚绒一把包【灰色】	AA	28*11  6.5mm糊黑色点塑布               0.25抽条珊瑚绒	AA	1.49",
                "仓库12	AA	抽条珊瑚绒一把包【米黄】	AA	28*11  6.5mm糊黑色点塑布               0.25抽条珊瑚绒	AA	1.49",
                "仓库12	AA	抽条珊瑚绒一把包【蓝色】	AA	28*11  6.5mm糊黑色点塑布               0.25抽条珊瑚绒	AA	1.49",
                "仓库12	AA	白板帆布二把上【土黄】	AA	29*11弯  6.5mm柳叶纹底+平片  0.2拉毛衬  0.5后脚跟 	AA	1.71",
                "仓库12	AA	白板帆布二把上【灰色】	AA	29*11弯  6.5mm柳叶纹底+平片  0.2拉毛衬  0.5后脚跟 	AA	1.71",
                "仓库12	AA	喜来登白板款仿棉两把上	AA	29*11.5弯  6mm增白元麻底+平片 0.3好仿棉帮盖+ 0.3拉毛衬  0.6后脚跟 布条	AA	1.93",
                "仓库12	AA	白板华夫格二把上【白边】	AA	29*11弯  7mm增白柳叶纹底+平片  0.2拉毛衬  0.6后脚跟 布条	AA	2.1",
                "仓库12	AA	白板华夫格二把上【灰边】	AA	29*11弯  7mm增白柳叶纹底+平片  0.2拉毛衬  0.6后脚跟 布条	AA	1.98",
                "仓库12	AA	白板华夫格二把上【半包】	AA	29*11弯  7mm增白柳叶纹底+平片  0.2拉毛衬  0.6后脚跟 布条	AA	1.98",
                "仓库12	AA	白板帆布防割绒双拼两把上	AA	2.8*11.5弯 加大 7.5mm增白元麻底+平片  0.3帆布帮+0..防割绒衬盖  0.6后脚跟 布条	AA	1.98",
                "仓库12	AA	儿童拖鞋一把上【笑脸】	AA	22.5*9.5直  6.5mm柳叶纹 0.3真美布	AA	0.97",
                "仓库12	AA	儿童拖鞋一把上【笑脸】	AA	22.5*9.5直  6.5mm柳叶纹 0.3蓝毛巾	AA	1.04",
                "仓库12	AA	儿童拖鞋一把上【小熊】	AA	22.8*9.8直  6.5mm增白水波纹 0.3毛巾   胶浆印	AA	1.19",
                "仓库12	AA	儿童拖鞋二把上【小牛】	AA	23.5*10弯  6.5mm增白骨头纹+平片 0.3真美布面料+0.2拉毛衬+0.5后脚跟	AA	1.43",
                "仓库12	AA	儿童拖鞋二把上【小树】	AA	22.8*9.8直  7mm增白元麻+平片 0.2拉毛衬 布条	AA	1.69",
                "仓库12	AA	儿童拖鞋二把上【猫咪】	AA	22.8*9.8直  7mm增白元麻+平片 0.2拉毛衬 布条	AA	1.69",
                "仓库12	AA	儿童拖鞋二把上【飞机】	AA	22.8*9.8直  7mm增白元麻+平片 0.2拉毛衬 布条	AA	1.69",
                "仓库12	AA	儿童拖鞋二把上【黄鸭】	AA	22.8*9.8直  6mm增白水波纹+平片 0.3仿棉    面料【胶印】  布条	AA	1.71",
                "仓库12	AA	儿童拖鞋二把上【小黄鸭】	AA	23.5/10弯  7mm增白骨头纹+平片 0.3珊瑚绒面料【胶印】+0.2拉毛衬  布条	AA	2.04",
                "仓库12	AA	儿童拖鞋二把上【小鹿】	AA	22.8*9.8直  6.5mm增白元麻+平片 0.3割绒面料【胶印】+0.3拉毛绒衬 布条	AA	2.04",
                "仓库12	AA	儿童牙刷配套【小猴子】	AA	【内配3克黑妹牙膏】	AA	0.55",
                "仓库12	AA	儿童牙刷配套【小兔子】	AA	【内配3克中华牙膏】                       	AA	0.83",
                "仓库12	AA	儿童牙刷配套【小兔子】	AA	【内配5克美加净儿童专用牙膏】 	AA	0.94",
                "仓库12	AA	儿童牙刷配套【长颈鹿】	AA	【内配3克中华牙膏】	AA	0.83",
                "仓库12	AA	儿童牙刷配套【蜜蜂款】	AA	【内配5克美加净儿童专用牙膏】	AA	0.88",
                "仓库12	AA	白板珊瑚绒【白色】	AA	29*11.5弯  7mm增白柳叶纹底+平片 0.3珊瑚绒180克  0.2拉毛衬  0.6后脚跟  布条	AA	1.98",
                "仓库12	AA	白板珊瑚绒【米色】	AA	29*11.5弯  7mm增白柳叶纹底+平片 0.3珊瑚绒180克  0.2拉毛衬  0.6后脚跟  布条	AA	1.98",
                "仓库12	AA	白板珊瑚绒【灰色】	AA	29*11.5弯  7mm增白柳叶纹底+平片 0.3珊瑚绒180克  0.2拉毛衬  0.6后脚跟  布条	AA	1.98",
                "仓库12	AA	白板珊瑚绒【抽条白色】	AA	29*11.5弯  7mm增白柳叶纹底+平片 0.3珊瑚绒180克  0.2拉毛衬  0.6后脚跟  布条	AA	2.04",
                "仓库12	AA	白板珊瑚绒【抽条灰色】	AA	29*11.5弯  7mm增白柳叶纹底+平片 0.3珊瑚绒180克  0.2拉毛衬  0.6后脚跟  布条	AA	2.04",
                "仓库12	AA	白板摇粒绒【白色】	AA	29*11弯  7mm增白水波纹底+平片        0.2拉毛衬  0.6后脚跟 布条	AA	2.04",
                "仓库12	AA	白板摇粒绒【土黄】	AA	29*11弯  7mm增白水纹底+平片          0.2拉毛衬  0.6后脚跟  布条	AA	2.04",
                "仓库12	AA	白板摇粒绒【灰色】	AA	29*11弯  7mm增白水波纹底+平片         0.2拉毛衬  0.6后脚跟 布条	AA	2.04",
                "仓库12	AA	彩带珊瑚绒黑底【灰色】	AA	29*11弯  6.5mm水波纹底+平片  0.2灰色拉毛衬  0.6后脚跟 布条	AA	2.31",
                "仓库12	AA	彩带珊瑚绒黑底【咖啡】	AA	29*11弯  6.5mm水波纹底+平片  0.2拉毛衬  0.6后脚跟 布条	AA	2.31",
                "仓库12	AA	彩带珊瑚绒黑底【米黄】	AA	28*11弯  6.5mm水波纹底+平片  0.2拉毛衬  0.6后脚跟 布条	AA	2.31",
                "仓库12	AA	彩带珊瑚绒黑底【紫色】	AA	28*11弯  6.5mm水波纹底+平片  0.2拉毛衬  0.6后脚跟 布条	AA	2.31",
                "仓库12	AA	彩带珊瑚绒黑底【粉色】	AA	28*11弯  6.5mm水波纹底+平片  0.2拉毛衬  0.6后脚跟 布条	AA	2.31",
                "仓库12	AA	红色双喜珊瑚绒喜庆拖鞋	AA	29*11弯  7mm黑色元麻+平片  0.3红色珊瑚绒+0.3红色拉毛衬  0.6后脚跟 布条	AA	2.75",
                "仓库12	AA	汉庭灰色无纺布	AA	28*11   6mm高泡环保鞋底	AA	0.64",
                "仓库12	AA	城市便捷新款【黄】	AA	    28*11     5mm点塑布防滑鞋底	AA	0.66",
                "仓库12	AA	城市便捷新款【蓝】	AA	 28*11     5mm点塑布防滑鞋底	AA	0.66",
                "仓库12	AA	格林豪泰【白】	AA	28*11         4mm柳叶纹鞋底	AA	0.83",
                "仓库12	AA	格林豪泰【黄】	AA	28*11         4mm柳叶纹鞋底	AA	0.83",
                "仓库12	AA	汉庭优佳新款【灰色】	AA	28.5*11.5弯 0.3灰色真美布                           6mm环保防滑雪花纹底+300克纸板+0.5后脚跟   	AA	1.05",
                "仓库12	AA	星程酒店新款【灰标】	AA	28.5*11.5弯 6mm环保钻石纹底+300克纸板+0.5后脚跟	AA	1.21",
                "仓库12	AA	星程酒店新款【蓝标】	AA	28.5*11.5弯 6mm环保钻石纹底+300克纸板+0.5后脚跟	AA	1.21",
                "仓库12	AA	全季酒店新款【灰】	AA	28.5*11.5弯 6mm环保钻石纹底+300克纸板+0.5后脚跟	AA	1.21",
                "仓库12	AA	全季酒店新款【白】	AA	28.5*11.5弯 6mm环保钻石纹底+300克纸板+0.5后脚跟	AA	1.21",
                "仓库12	AA	橘子酒店新款	AA	28.5*11.5直 6mm环保钻石纹底+300克纸板+0.5后脚跟	AA	1.27",
                "仓库12	AA	维也纳酒店【骨头纹】	AA	28.8*11.5弯 6mm环保骨头纹底 0.25好拉毛【双层】+300克纸板	AA	1.16",
                "仓库12	AA	宜尚酒店【蓝边】	AA	28*11弯 6mm防滑点塑布底 0.3好拉毛【双层】+0.5脚后跟	AA	1.16",
                "仓库12	AA	宜尚酒店【灰边】	AA	28*11弯 6mm防滑点塑布底 0.3好拉毛【双层】+0.5脚后跟	AA	1.16",
                "仓库12	AA	丽枫酒店 	AA	29*11弯       6mm柳叶纹鞋底	AA	1.16",
                "仓库12	AA	亚朵酒店新款【浅灰】	AA	29.5*12弯    7mm网型环保鞋底	AA	1.54",
                "仓库12	AA	亚朵酒店新款【深灰】	AA	29.5*12弯    7mm网型环保鞋底	AA	1.54"
                };
//        try (Scanner scanner = new Scanner(new File("/Users/edy/yhqx_data/danjia.txt"))) {
//            while (scanner.hasNextLine()) {
//                String[] split = scanner.nextLine().split("AA");
//                joinn(split);
//            }
//        } catch (FileNotFoundException e) {
//            e.printStackTrace();
//        }
        for (String s : str) {
            joinn(s.split("AA"));
        }
    }

    public void joinn(String[] split){
        System.out.println(JSON.toJSONString(split));
        long parentId = 1;
        for (int i = 0; i < split.length; i++) {
            String str = split[i].trim();
            ProductType one = productTypeService.getOne(Wrappers.<ProductType>lambdaQuery()
                    .eq(ProductType::getParentId, parentId)
                    .eq(ProductType::getProductName, str));
            if (null == one){
                one = new ProductType().setProductName(str).setParentId(parentId).setStatus(1).setLevel( i + 1);
                if (i == 2){
                    BigDecimal multiply = BigDecimal.valueOf(Double.parseDouble(split[i + 1])).multiply(BigDecimal.valueOf(100));
                    one.setPrice(multiply.intValue());
                    productTypeService.save(one);
                    break;
                }
                productTypeService.save(one);
            }
            parentId = one.getId();
        }
    }


    /**
     * 根据顶级id
     * 删除下面所有分类
     */
    @Test
    public void deleteByProductId(){
        List<Object> list = Arrays.asList(6046);
        List<ProductType> productTypes = productTypeService.list(Wrappers.<ProductType>lambdaQuery().in(ProductType::getId, list));
        for (ProductType productType : productTypes) {
            List<ProductType> list1 = productTypeService.list(Wrappers.<ProductType>lambdaQuery().eq(ProductType::getParentId, productType.getId()));
            for (ProductType type : list1) {
                List<ProductType> list2 = productTypeService.list(Wrappers.<ProductType>lambdaQuery().eq(ProductType::getParentId, type.getId()));
                for (ProductType productType1 : list2) {
                    List<ProductType> list3 = productTypeService.list(Wrappers.<ProductType>lambdaQuery().eq(ProductType::getParentId, productType1.getId()));
                    for (ProductType productType2 : list3) {
                        productTypeService.removeById(productType2);
                    }
                }
                for (ProductType productType1 : list2) {
                    productTypeService.removeById(productType1);
                }
            }
            for (ProductType type : list1) {
                productTypeService.removeById(type);
            }
            productTypeService.removeById(productType);
        }
    }
}
